package rnavizexperimentation;

/**
 * @author Elias la Cour
 * contains info on position in nucleotide chain, coordinates for graphs and value of 
 * field
 */
public class Base {

    private int x = 0;
    private int y = 0;
    private int position = 0;
    private char nucleotide = '\u0000';
    private boolean isPseudoknot = false;

    public Base() {
    }
/**
     * 
     * @param position determines position in the nucleotide chain
     * @param nucleotide ex A, C, G or U
     */
    public Base(int position, char nucleotide) {
        this.position = position;
        this.nucleotide = nucleotide;
    }

    public Base(int x, int y) {
        this.x = x;
        this.y = y;
    }

    /**
     * @return the x
     */
    public int getX() {
        return x;
    }

    /**
     * @param x the x to set
     */
    public void setX(int x) {
        this.x = x;
    }

    /**
     * @return the y
     */
    public int getY() {
        return y;
    }

    /**
     * @param y the y to set
     */
    public void setY(int y) {
        this.y = y;
    }

    /**
     * @return the position
     */
    public int getPosition() {
        return position;
    }

    /**
     * @param position the position to set
     */
    public void setPosition(int position) {
        this.position = position;
    }

    /**
     * @return the nucleotide
     */
    public char getNucleotide() {
        return nucleotide;
    }

    /**
     * @param nucleotide the nucleotide to set
     */
    public void setNucleotide(char nucleotide) {
        this.nucleotide = nucleotide;
    }

    /**
     * @return the isPseudoknot
     */
    public boolean getIsPseudoknot() {
        return isPseudoknot;
    }

    /**
     * @param isPseudoknot the isPseudoknot to set
     */
    public void setIsPseudoknot(boolean isPseudoknot) {
        this.isPseudoknot = isPseudoknot;
    }
}
